package org.dingyom.basics.mapper;

import org.dingyom.basics.query.BaseQuery;

import java.io.Serializable;
import java.util.List;

/**
 * 所有的mapper 都有基础的增删改查和分页列表
 * @param <T>
 */
public interface BaseMapper<T> {
    void save(T t);

    void remove(Serializable id);//String Integer Long 都继承了Serializable

    void update(T t);

    T loadById(Serializable id);

    List<T> loadAll();

    //分页查询
    long loadCount(BaseQuery query);//查询总数
    List<T> loadData(BaseQuery query);

    //批量删除
    void batchRemove(List<Long> ids);
}
